class Watcher {
    constructor(vm,key,cb) {
        this.vm = vm;
        //属性名称
        this.key = key;
        //更新数据的方法
        this.cb = cb;
        //记录watcher对象到dep中，就是dep.target中
        Dep.target = this
        //出发get方法，因为get方法中有addSub
        //此处对old的访问就会触发get属性
        this.oldVal = vm[key]
        Dep.target = null
    }
    update(){
        let newVal = this.vm[this.key];
        if(this.oldVal===newVal){
            return
        };
        this.cb(newVal);
    }
}